extends CharacterBody2D

@export var speed = 400
@export var rotation_speed = 4
#импорт настроек персонажа
@onready var pl = $player

@onready var ctrl = $Control

var health_bar = 3

var gravity = ProjectSettings.get_setting("physics/2d/default_gravity")
var rotation_direction = 0

#ввод градусов поворота
func get_input():
	rotation_direction = Input.get_axis("p_left", "p_right")


func _physics_process(delta):
	get_input()
	
	#если не на земле может летать
	if not is_on_floor():
		rotation += rotation_direction * rotation_speed * delta

		#гравитация
		velocity.y += gravity * delta

	#если на земле включается обычное перемещение с прыжком
	if is_on_floor():
		#становится прямо
		rotation = 0
		#перемещение
		if Input.is_action_pressed("p_right"):
			velocity.x = speed
		elif Input.is_action_pressed("p_left"):
			velocity.x = -speed
		else:
			velocity.x = 0

	#полет
	if Input.is_action_pressed("p_up"):
			velocity = transform.y * -speed

	#поворот взависимости от направления движения
	if velocity.x < 0:
		pl.flip_h = true
	elif velocity.x > 0:
		pl.flip_h = false
	
	if Input.is_action_just_pressed('position_reset'):
		death()
#	if Input.is_action_just_pressed('position_reset'):
#		position.x = 161
#		position.y = 433
	
	move_and_slide()


func death():
	ctrl.visible = true
	if ctrl.dth == 1:
		position.x = 161
		position.y = 433
		set_physics_process(false)
		get_tree().reload_current_scene()
